package cn.touna.jss.modules.third.tongdun.entity;

import cn.touna.risk.api.contraints.IdCard;
import cn.touna.risk.api.contraints.Mobile;
import cn.touna.risk.api.contraints.facet.First;
import cn.touna.risk.api.contraints.facet.Second;
import cn.touna.risk.api.domain.BaseDomain;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.GroupSequence;

/**
 * Created with IntelliJ IDEA.
 * User: lijie
 * Email:lijiewj51137@touna.cn
 * Date: 2017/8/1
 * Time: 14:20
 */
@GroupSequence({First.class, Second.class, TongDunRequestEntity.class})
public class TongDunRequestEntity extends BaseDomain {
    private Boolean flag;
    private String report_id;
    @NotBlank(message = "事件标识不能为空", groups = {First.class})
    private String event_id;//事件标识
    private String partner_code;// 合作方标识 必填 由同盾分配，权限校验用
    private String partner_key;//合作方密钥 必填 由同盾分配，权限校验用
    private String app_name;// 应用名称 必填 由同盾分配
    private String secret_key;// 应用秘钥 必填 由同盾分配
    private Double loan_amount;// 申请借款金额 单位是人民币元
    private Integer loan_term;//申请借款期限 会校验数据类型
    private String loan_term_unit;//
    private String purpose;// 借款用途
    private String apply_province;//进件省份
    private String apply_city;// 进件城市 
    private String apply_channel;// 进件渠道
    private String loan_date;// 申请借款日期  格式yyyy-MM-dd 默认当前日期
    @NotBlank(message = "名字不能为空", groups = {First.class})
    private String name;// 姓名 必填
    @IdCard(message = "身份证校验失败", groups = {First.class})
    private String idCard;//身份证号 必填
    @Mobile(message = "手机号校验失败", groups = {First.class})
    private String mobile;//手机号 必填
    /**
     * 产品代码
     */
    private String productType;
    /**
     * 平台代码
     */
    private String platform;
    /**
     * 事件类型
     */
    private String eventType;

    private String card_number;// 银行卡号
    private String work_phone;// 公司座机 格式(区号+号码) 0571-1111111
    private String home_phone;//家庭座机 格式(区号+号码) 0571-1111111
    private String qq;// QQ     
    private String email;// 电子邮箱    
    private String diploma;// 学历 参照学历表
    private String marriage;// 婚姻状况 参照婚姻状态表
    private String house_property;//房产情况
    private String house_type;// 房产类型 （商品房；经济适用房；商住两用房；拆迁房；自建房；宅基地；临建房；期房；预售房；其他 ）其中之一
    private String registered_adress;//	户籍地址 xx省xx市xx县xx镇xx村xx组xx号
    private String home_address;// 家庭地址   xx省xx市xx区xx苑xx幢xx单元xx室
    private String contact_address;//	通讯地址   xx省xx市xx区xx苑xx幢xx单元xx室
    private String career;// 职业  
    /*   入参:
    （政府官员、公务员；专业人员；企业高中级主管；军官；
	企业负责人、股东；企业基层主管、半专业人员；警察，消
	防员；操作人员；现役军人；技能工作、文艺工作者；个体
	商店老板；一般工人；业务人员；收货人员；无技术工人；
	保安、司机、服务、外送人员；农林牧渔；清洁人员；摊
	贩；实习生；退休；家庭主妇；学生；失业）其中之一*/


    private String applyer_type;// 申请人员类别      入参:（在职；学生 ）其中之一
    private String work_time;//工作时间  荐入参:	（1年以下；1年；2年；3-4年；5-7年；8-9年；10年以	上）其中之一
    private String company_name;//工作单位
    private String company_address;//	单位地址   xx省xx市xx区xx路xx号xx园xx号楼xx室
    /*   入参:
    （农、林、牧、渔业；采掘业；制造业；电力、仓储和邮政
    业；信息传输、计算机服务和软件业；批发和零售业；住宿*/
    private String company_industry;//
    /*	公司行业   和餐饮业；金融业；房地产业；租赁和商务服务业；科学研
    究、技术服务业和地质勘察业；水利、环境和公共设施管理
    业；居民服务和其他服务业；教育；卫生、社会保障和社会
    福利业；文化、体育和娱乐业；公共管理和社会组织；国际
    组织；未知）其中之一*/
    private String company_type;//公司性质  	   入参:	（机关事业；国有股份；合资；私营；个体；其他）其中之一
    private String occupation;// 职位   参照职位表
    private String annual_income;//年收入
    /*	   入参:
    (10000以下；10000-50000；50000-100000；100000-
	200000；200000以上)其中之一*/
    private Boolean is_cross_loan;//	三个月内是否跨平台申请借款
    private Integer cross_loan_count;//	三个月内跨平台申请借款平台个数
    private Boolean is_liability_loan;//	三个月内是否跨平台 借款负债
    private Integer liability_loan_count;// 三个月内跨平台借款负债平台个数
    private Boolean is_id_checked;//是否通过实名认证Boolean
    private String contact1_relation;// 第一联系人社会关系   参照社会关系表
    private String contact1_name;//	第一联系人姓名  
    private String contact1_id_number;//	第一联系人身份证  
    private String contact1_mobile;//	第一联系人手机号  
    private String contact1_addr;//第一联系人家庭地址
    private String contact1_com_name;//	第一联系人工作单位  
    private String contact1_com_addr;//	第一联系人工作地址  
    private String contact2_relation;//	第二联系人社会关系   参照社会关系表
    private String contact2_name;//	第二联系人姓名  
    private String contact2_id_number;//	第二联系人身份证  
    private String contact2_mobile;//	第二联系人手机号  
    private String contact2_addr;// 第二联系人家庭地址  
    private String contact2_com_name;//	第二联系人工作单位  
    private String contact2_com_addr;//	第二联系人工作地址  
    private String contact3_relation;//	第三联系人社会关系   参照社会关系表
    private String contact3_name;//第三联系人姓名
    private String contact3_id_number;//	第三联系人身份证  
    private String contact3_mobile;//	第三联系人手机号  
    private String contact3_addr;// 第三联系人家庭地址  
    private String contact3_com_name;//	第三联系人工作单位  
    private String contact3_com_addr;//	第三联系人工作地址  
    private String contact4_relation;//	第四联系人社会关系   参照社会关系表
    private String contact4_name;// 第四联系人姓名  
    private String contact4_id_number;//	第四联系人身份证  
    private String contact4_mobile;//	第四联系人手机号  
    private String contact4_addr;// 第四联系人家庭地址  
    private String contact4_com_name;//	第四联系人工作单位  
    private String contact4_com_addr;//	第四联系人工作地址  
    private String contact5_relation;//	第五联系人社会关系   参照社会关系表
    private String contact5_name;//	第五联系人姓名  
    private String contact5_id_number;//	第五联系人身份证  
    private String contact5_mobile;//	第五联系人手机号  
    private String contact5_addr;// 第五联系人家庭地址  
    private String contact5_com_name;//	第五联系人工作单位  
    private String contact5_com_addr;//	第五联系人工作地址
    private String ip_address;//IP 地址  线上借贷使用
    private String token_id;//同盾设备指纹网页端   线上借贷使用
    private String black_box;//同盾设备指纹移动端   线上借贷使用
    private String notify_url;// 回调推送接口地址  	线上借贷使用报告生成后会推送到notify_url，查看 推送介绍

    //邮箱
    private String accountEmail;
    //社保手机号
    private String accountMobile;
    //社保手机号2
    private String accountMobile2;


    public String getAccountEmail() {
        return accountEmail;
    }

    public void setAccountEmail(String accountEmail) {
        this.accountEmail = accountEmail;
    }

    public String getAccountMobile() {
        return accountMobile;
    }

    public void setAccountMobile(String accountMobile) {
        this.accountMobile = accountMobile;
    }

    public String getAccountMobile2() {
        return accountMobile2;
    }

    public void setAccountMobile2(String accountMobile2) {
        this.accountMobile2 = accountMobile2;
    }

    public Boolean getFlag() {
        return flag;
    }

    public void setFlag(Boolean flag) {
        this.flag = flag;
    }

    public String getReport_id() {
        return report_id;
    }

    public void setReport_id(String report_id) {
        this.report_id = report_id;
    }

    public String getPartner_code() {
        return partner_code;
    }

    public void setPartner_code(String partner_code) {
        this.partner_code = partner_code;
    }

    public String getPartner_key() {
        return partner_key;
    }

    public void setPartner_key(String partner_key) {
        this.partner_key = partner_key;
    }

    public String getApp_name() {
        return app_name;
    }

    public void setApp_name(String app_name) {
        this.app_name = app_name;
    }

    public Double getLoan_amount() {
        return loan_amount;
    }

    public void setLoan_amount(Double loan_amount) {
        this.loan_amount = loan_amount;
    }

    public Integer getLoan_term() {
        return loan_term;
    }

    public void setLoan_term(Integer loan_term) {
        this.loan_term = loan_term;
    }

    public String getLoan_term_unit() {
        return loan_term_unit;
    }

    public void setLoan_term_unit(String loan_term_unit) {
        this.loan_term_unit = loan_term_unit;
    }

    public String getPurpose() {
        return purpose;
    }

    public void setPurpose(String purpose) {
        this.purpose = purpose;
    }

    public String getApply_province() {
        return apply_province;
    }

    public void setApply_province(String apply_province) {
        this.apply_province = apply_province;
    }

    public String getApply_city() {
        return apply_city;
    }

    public void setApply_city(String apply_city) {
        this.apply_city = apply_city;
    }

    public String getApply_channel() {
        return apply_channel;
    }

    public void setApply_channel(String apply_channel) {
        this.apply_channel = apply_channel;
    }

    public String getLoan_date() {
        return loan_date;
    }

    public void setLoan_date(String loan_date) {
        this.loan_date = loan_date;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getCard_number() {
        return card_number;
    }

    public void setCard_number(String card_number) {
        this.card_number = card_number;
    }

    public String getWork_phone() {
        return work_phone;
    }

    public void setWork_phone(String work_phone) {
        this.work_phone = work_phone;
    }

    public String getHome_phone() {
        return home_phone;
    }

    public void setHome_phone(String home_phone) {
        this.home_phone = home_phone;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getDiploma() {
        return diploma;
    }

    public void setDiploma(String diploma) {
        this.diploma = diploma;
    }

    public String getMarriage() {
        return marriage;
    }

    public void setMarriage(String marriage) {
        this.marriage = marriage;
    }

    public String getHouse_property() {
        return house_property;
    }

    public void setHouse_property(String house_property) {
        this.house_property = house_property;
    }

    public String getHouse_type() {
        return house_type;
    }

    public void setHouse_type(String house_type) {
        this.house_type = house_type;
    }

    public String getRegistered_adress() {
        return registered_adress;
    }

    public void setRegistered_adress(String registered_adress) {
        this.registered_adress = registered_adress;
    }

    public String getHome_address() {
        return home_address;
    }

    public void setHome_address(String home_address) {
        this.home_address = home_address;
    }

    public String getContact_address() {
        return contact_address;
    }

    public void setContact_address(String contact_address) {
        this.contact_address = contact_address;
    }

    public String getCareer() {
        return career;
    }

    public void setCareer(String career) {
        this.career = career;
    }

    public String getApplyer_type() {
        return applyer_type;
    }

    public void setApplyer_type(String applyer_type) {
        this.applyer_type = applyer_type;
    }

    public String getWork_time() {
        return work_time;
    }

    public void setWork_time(String work_time) {
        this.work_time = work_time;
    }

    public String getCompany_name() {
        return company_name;
    }

    public void setCompany_name(String company_name) {
        this.company_name = company_name;
    }

    public String getCompany_address() {
        return company_address;
    }

    public void setCompany_address(String company_address) {
        this.company_address = company_address;
    }

    public String getCompany_industry() {
        return company_industry;
    }

    public void setCompany_industry(String company_industry) {
        this.company_industry = company_industry;
    }

    public String getCompany_type() {
        return company_type;
    }

    public void setCompany_type(String company_type) {
        this.company_type = company_type;
    }

    public String getOccupation() {
        return occupation;
    }

    public void setOccupation(String occupation) {
        this.occupation = occupation;
    }

    public String getAnnual_income() {
        return annual_income;
    }

    public void setAnnual_income(String annual_income) {
        this.annual_income = annual_income;
    }

    public Boolean getIs_cross_loan() {
        return is_cross_loan;
    }

    public void setIs_cross_loan(Boolean is_cross_loan) {
        this.is_cross_loan = is_cross_loan;
    }

    public Integer getCross_loan_count() {
        return cross_loan_count;
    }

    public void setCross_loan_count(Integer cross_loan_count) {
        this.cross_loan_count = cross_loan_count;
    }

    public Boolean getIs_liability_loan() {
        return is_liability_loan;
    }

    public void setIs_liability_loan(Boolean is_liability_loan) {
        this.is_liability_loan = is_liability_loan;
    }

    public Integer getLiability_loan_count() {
        return liability_loan_count;
    }

    public void setLiability_loan_count(Integer liability_loan_count) {
        this.liability_loan_count = liability_loan_count;
    }

    public Boolean getIs_id_checked() {
        return is_id_checked;
    }

    public void setIs_id_checked(Boolean is_id_checked) {
        this.is_id_checked = is_id_checked;
    }

    public String getContact1_relation() {
        return contact1_relation;
    }

    public void setContact1_relation(String contact1_relation) {
        this.contact1_relation = contact1_relation;
    }

    public String getContact1_name() {
        return contact1_name;
    }

    public void setContact1_name(String contact1_name) {
        this.contact1_name = contact1_name;
    }

    public String getContact1_id_number() {
        return contact1_id_number;
    }

    public void setContact1_id_number(String contact1_id_number) {
        this.contact1_id_number = contact1_id_number;
    }

    public String getContact1_mobile() {
        return contact1_mobile;
    }

    public void setContact1_mobile(String contact1_mobile) {
        this.contact1_mobile = contact1_mobile;
    }

    public String getContact1_addr() {
        return contact1_addr;
    }

    public void setContact1_addr(String contact1_addr) {
        this.contact1_addr = contact1_addr;
    }

    public String getContact1_com_name() {
        return contact1_com_name;
    }

    public void setContact1_com_name(String contact1_com_name) {
        this.contact1_com_name = contact1_com_name;
    }

    public String getContact1_com_addr() {
        return contact1_com_addr;
    }

    public void setContact1_com_addr(String contact1_com_addr) {
        this.contact1_com_addr = contact1_com_addr;
    }

    public String getContact2_relation() {
        return contact2_relation;
    }

    public void setContact2_relation(String contact2_relation) {
        this.contact2_relation = contact2_relation;
    }

    public String getContact2_name() {
        return contact2_name;
    }

    public void setContact2_name(String contact2_name) {
        this.contact2_name = contact2_name;
    }

    public String getContact2_id_number() {
        return contact2_id_number;
    }

    public void setContact2_id_number(String contact2_id_number) {
        this.contact2_id_number = contact2_id_number;
    }

    public String getContact2_mobile() {
        return contact2_mobile;
    }

    public void setContact2_mobile(String contact2_mobile) {
        this.contact2_mobile = contact2_mobile;
    }

    public String getContact2_addr() {
        return contact2_addr;
    }

    public void setContact2_addr(String contact2_addr) {
        this.contact2_addr = contact2_addr;
    }

    public String getContact2_com_name() {
        return contact2_com_name;
    }

    public void setContact2_com_name(String contact2_com_name) {
        this.contact2_com_name = contact2_com_name;
    }

    public String getContact2_com_addr() {
        return contact2_com_addr;
    }

    public void setContact2_com_addr(String contact2_com_addr) {
        this.contact2_com_addr = contact2_com_addr;
    }

    public String getContact3_relation() {
        return contact3_relation;
    }

    public void setContact3_relation(String contact3_relation) {
        this.contact3_relation = contact3_relation;
    }

    public String getContact3_name() {
        return contact3_name;
    }

    public void setContact3_name(String contact3_name) {
        this.contact3_name = contact3_name;
    }

    public String getContact3_id_number() {
        return contact3_id_number;
    }

    public void setContact3_id_number(String contact3_id_number) {
        this.contact3_id_number = contact3_id_number;
    }

    public String getContact3_mobile() {
        return contact3_mobile;
    }

    public void setContact3_mobile(String contact3_mobile) {
        this.contact3_mobile = contact3_mobile;
    }

    public String getContact3_addr() {
        return contact3_addr;
    }

    public void setContact3_addr(String contact3_addr) {
        this.contact3_addr = contact3_addr;
    }

    public String getContact3_com_name() {
        return contact3_com_name;
    }

    public void setContact3_com_name(String contact3_com_name) {
        this.contact3_com_name = contact3_com_name;
    }

    public String getContact3_com_addr() {
        return contact3_com_addr;
    }

    public void setContact3_com_addr(String contact3_com_addr) {
        this.contact3_com_addr = contact3_com_addr;
    }

    public String getContact4_relation() {
        return contact4_relation;
    }

    public void setContact4_relation(String contact4_relation) {
        this.contact4_relation = contact4_relation;
    }

    public String getContact4_name() {
        return contact4_name;
    }

    public void setContact4_name(String contact4_name) {
        this.contact4_name = contact4_name;
    }

    public String getContact4_id_number() {
        return contact4_id_number;
    }

    public void setContact4_id_number(String contact4_id_number) {
        this.contact4_id_number = contact4_id_number;
    }

    public String getContact4_mobile() {
        return contact4_mobile;
    }

    public void setContact4_mobile(String contact4_mobile) {
        this.contact4_mobile = contact4_mobile;
    }

    public String getContact4_addr() {
        return contact4_addr;
    }

    public void setContact4_addr(String contact4_addr) {
        this.contact4_addr = contact4_addr;
    }

    public String getContact4_com_name() {
        return contact4_com_name;
    }

    public void setContact4_com_name(String contact4_com_name) {
        this.contact4_com_name = contact4_com_name;
    }

    public String getContact4_com_addr() {
        return contact4_com_addr;
    }

    public void setContact4_com_addr(String contact4_com_addr) {
        this.contact4_com_addr = contact4_com_addr;
    }

    public String getContact5_relation() {
        return contact5_relation;
    }

    public void setContact5_relation(String contact5_relation) {
        this.contact5_relation = contact5_relation;
    }

    public String getContact5_name() {
        return contact5_name;
    }

    public void setContact5_name(String contact5_name) {
        this.contact5_name = contact5_name;
    }

    public String getContact5_id_number() {
        return contact5_id_number;
    }

    public void setContact5_id_number(String contact5_id_number) {
        this.contact5_id_number = contact5_id_number;
    }

    public String getContact5_mobile() {
        return contact5_mobile;
    }

    public void setContact5_mobile(String contact5_mobile) {
        this.contact5_mobile = contact5_mobile;
    }

    public String getContact5_addr() {
        return contact5_addr;
    }

    public void setContact5_addr(String contact5_addr) {
        this.contact5_addr = contact5_addr;
    }

    public String getContact5_com_name() {
        return contact5_com_name;
    }

    public void setContact5_com_name(String contact5_com_name) {
        this.contact5_com_name = contact5_com_name;
    }

    public String getContact5_com_addr() {
        return contact5_com_addr;
    }

    public void setContact5_com_addr(String contact5_com_addr) {
        this.contact5_com_addr = contact5_com_addr;
    }

    public String getIp_address() {
        return ip_address;
    }

    public void setIp_address(String ip_address) {
        this.ip_address = ip_address;
    }

    public String getToken_id() {
        return token_id;
    }

    public void setToken_id(String token_id) {
        this.token_id = token_id;
    }

    public String getBlack_box() {
        return black_box;
    }

    public void setBlack_box(String black_box) {
        this.black_box = black_box;
    }

    public String getNotify_url() {
        return notify_url;
    }

    public void setNotify_url(String notify_url) {
        this.notify_url = notify_url;
    }

    public String getSecret_key() {
        return secret_key;
    }

    public void setSecret_key(String secret_key) {
        this.secret_key = secret_key;
    }

    public String getEvent_id() {
        return event_id;
    }

    public void setEvent_id(String event_id) {
        this.event_id = event_id;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getPlatform() {
        return platform;
    }

    public void setPlatform(String platform) {
        this.platform = platform;
    }

    public String getEventType() {
        return eventType;
    }

    public void setEventType(String eventType) {
        this.eventType = eventType;
    }
}
